package com.onemileshop.utils;

import java.io.File;
import java.io.FileOutputStream;

import android.text.format.Time;

/**
 * 需要在程序最开始设定日志文件名
 * @author lichen
 *
 */
public class UtiLog
{  
   
   public static void E(String log)
   {
	  try
	  {
		 recordLog("/sdcard/mylogs", "YGLogistics_Error", log, true);
	  }
	  catch (Exception e)
	  {

	  }
   }

   public static void D(String log)
   {
	  try
	  {
		 recordLog("/sdcard/mylogs", "YGLogistics_Debug", log, true);
	  }
	  catch (Exception e)
	  {

	  }
   }

   /**
    * 功能：记录日志<br>
    * 
    * @param savePathStr
    *           保存日志路径
    * @param saveFileNameS
    *           保存日志文件名
    * @param saveDataStr
    *           保存日志数据
    * @param saveTypeStr
    *           保存类型，fals为覆盖保存，true为在原来文件后添加保存
    */
   private static void recordLog(String savePath, String saveFileName, String saveData, boolean saveType)
   {
	  try
	  {

		 // 取得系统时间
		 Time t = new Time();
		 t.setToNow();
		 StringBuilder sb = new StringBuilder();
		 sb.append(saveData);
		 sb.append("  --");
		 sb.append(t.year);
		 sb.append("/");
		 sb.append(t.month+1);
		 sb.append("/");
		 sb.append(t.monthDay);
		 sb.append(" ");
		 sb.append(t.hour + 1);
		 sb.append(":");
		 sb.append(t.minute);
		 sb.append(":");
		 sb.append(t.second);
		 sb.append("\n");

		 // 准备需要保存的文件
		 File saveFilePath = new File(savePath);
		 if (!saveFilePath.exists())
		 {
			saveFilePath.mkdirs();
		 }
		 File saveFile = new File(savePath + "/" + saveFileName);

		 if (!saveFile.exists())//日志不存在
		 {
			saveFile.createNewFile();
			FileOutputStream fos = new FileOutputStream(saveFile, saveType);
			fos.write(sb.toString().getBytes());
			fos.close();
		 }
		 else//日志存在
		 {
			if (saveType)//继续添加
			{
			   FileOutputStream fos = new FileOutputStream(saveFile, saveType);
			   fos.write(sb.toString().getBytes());
			   fos.close();
			}
			else//覆盖原来的
			{
			   saveFile.delete();
			   saveFile.createNewFile();
			   // 保存结果到文件
			   FileOutputStream fos = new FileOutputStream(saveFile, saveType);
			   fos.write(sb.toString().getBytes());
			   fos.close();
			}
		 }

	  }
	  catch (Exception e)
	  {
		 // recordLog(savePath, saveFileName, saveData, saveType);

		 // e.printStackTrace();
	  }
   }
}
